Composition Time
フレームが表示されるべき時間である。
これはPresentation Timeです
フレームが合成されるべき時間である。
つまりComposition Timeは、ユーザー視点における、フレームと時間を紐づける情報。
Q. 次の認識は正しいですか。
MPEG4における合成とは、デコードによって得られたチャンク内のフレームデータを用いて、PフレームやBフレームを完全な画像にすることをいう。
Composition Timeとは、合成を行うべき時間のことを指す。
/work4ai/chatgpt.icon
あなたの認識は正しいです。
MPEG-4では、PフレームやBフレームは、デコードによって得られたチャンク内のフレームデータを使用して、完全な画像に合成されます。これは、デコードされたフレームがIフレームの場合でも同様です。
Composition Timeは、合成を行うべき時間を指します。Composition Timeは、デコードされたフレームが表示されるべき時間を表します。つまり、Presentation Timeとの差がComposition Timeとなります。Composition Timeは、PフレームやBフレームのような非Iフレームの場合に特に重要です。
時系列的にはこうだと思う:
チャンクのDecoding Time → チャンクをデコード → フレームのComposition Time → フレームを合成 → Presentation Time → フレームを表示
合成をするということは、すなわち差分フレームを表示するということ。
デコードから、特定フレームの合成におけるタイムラグが、フレームのComposition Timeとなる(フレームの合成を行っている時間)。
↑この考え、怪しい
ChatGPTはこの辺りの話をすると回答の内容がかなり揺れる
でも他にどこから調べられるかな
QuickTime File Format Specificationをもう一度ちゃんと読んだほうがいいかも